home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 37 / Amiga Format CD37 (1999-02-16)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-03].iso / +system+ / tools / wb / kingcon1.3 / docs / kingcon.doc < prev    next >
Text File  |  1998-09-07  |  54KB  |  1,309 lines

  1. ***************************************************************************
  2. *                                      *
  3. *                                      *
  4. *                --- KingCON 1.3 ---                  *
  5. *                                      *
  6. *                  --- User Documentation ---              *
  7. *                                        *
  8. *         --- Copyright © 1993,1994 David Larsson ---          *
  9. *                                      *
  10. *                                      *
  11. ***************************************************************************
  12.  
  13.  
  14. =========
  15.  Preface
  16. =========
  17.  
  18. The program and files in this distribution are freely distributable,
  19. but are also copyright (c) David Larsson. They may be freely
  20. distributed as long as no more than a nominal fee is charged to cover
  21. time and copying costs.
  22.   No commercial usage is permitted without written permission from the
  23. author.  Everything in this distribution must be kept together, in original
  24. unmodified form.
  25.   The above is generally known as freeware.
  26.  
  27.   Please contact me if you have any comments or suggestions:
  28.  
  29.   E-Mail:  f92dala@dd.chalmers.se
  30.  
  31.   Mail:    David Larsson
  32.             Gibraltarg. 82:150
  33.             S-412 79 GÖTEBORG
  34.             Sweden
  35.        ¯¯¯¯¯¯
  36.  
  37.     ! KingCON needs Kickstart 2.0 or better to run. !
  38.  
  39.  
  40. ==========
  41.  Contents
  42. ==========
  43.  
  44. 1. KingCON compared to CON
  45. 2. Installation
  46. 3. Editing
  47. 4. Filename- command- and device-completion
  48. 5. Review-buffer
  49. 6. Menus
  50. 7. Iconifying the window
  51. 8. Options when opening the console-window
  52. 9. To do
  53.  
  54.  
  55. ============================
  56.  1. KingCON compared to CON
  57. ============================
  58.  
  59.    The WB2.0 console-handler - CON: - is really good, but it lacks some
  60. very handy features that make life easier if you use it a lot.
  61. KingCON (or KCON) is a replacement that behaves EXACTLY like CON, but it
  62. also adds these important features:
  63.  
  64.    * Filename completion. You just type the first letters of a filename,
  65.      press the TAB-key, and - voilà! - the rest of the name is filled
  66.      in for you. This makes typing MUCH faster and minimizes frustrating
  67.      misspellings. KingCON has many options that let you control the
  68.      operation of this function. Maybe you prefer it window-oriented,
  69.      UNIX-like or something else.
  70.      DOS-commands and devicenames can be completed in a similar way.
  71.      Some of you might say that the Shell should provide this function
  72.      instead, but since all editing is managed by the console-handler
  73.      anyway, this is only natural. And as a "sideeffect", the filename-
  74.      completion will be available AT ALL TIMES - not only when you are
  75.      standing at the shell-prompt.
  76.  
  77.    * Review-buffer. A scrollbar in the right windowborder lets you browse
  78.      through all text that has been output to the window at any time.
  79.      (Very useful when your compiler spits out ten pages of errorlistings.)
  80.      The buffer can be turned on and off, and saved to a separate file.
  81.  
  82.    * Intuition-menus that give you a quick access to the features mentioned
  83.      above. You can control the size of the window, clear it etc.
  84.  
  85.    * Default settings can be stored in an environment-variable.
  86.  
  87.    * Jump-scroll option, which increases output speed a lot.
  88.  
  89.    * The console window can be iconified and put on the Workbench
  90.      as an AppIcon. The window also has a special icon in the titlebar
  91.      to quickly iconify it.
  92.  
  93.    * Asynchronous typeahead, if you want to type in the next command while
  94.      watching the output from the previous one.
  95.  
  96.    * Workbench icondrop is supported.
  97.  
  98.    * You can have the current directory displayed in the windowtitle.
  99.  
  100.    * The mouse can be used for positioning the cursor on the input line.
  101.  
  102.    * The text can be any (non-proportional) font you like.
  103.      Topaz 44 is a killer.
  104.  
  105.    * The command-history buffer eliminates identical lines, the window is
  106.      positioned more intelligently etc.
  107.  
  108.    Please note that KingCON does NOT patch CON in any way, it is written
  109. completely from scratch. There is a way, however, to mount KingCON as 'CON:'.
  110. In this way, every program that uses 'CON:' will actually be using KingCON
  111. and all the good it stands for.:-> Of course, this is optional.
  112.  
  113.    KRAW: is a replacement for RAW:, and is very similar to KCON:, except
  114. it doesn't have any line-editing. See some DOS-documentation for details
  115. about the differences between CON: and RAW:.
  116.  
  117.  
  118. =================
  119.  2. Installation
  120. =================
  121.  
  122.   Simply run 'Installation' by double-clicking on its icon.
  123.  
  124.   The install-script does the following things:
  125.  
  126.   * Depending on which processor you have, 'KingCON-handler' or
  127.     'KingCON-handler.020' is copied to L:. Once copied, it is
  128.     always called 'KingCON-handler'.
  129.  
  130.   * 'KingCON-mountlist' is copied to DEVS:
  131.  
  132.   * 'KCON:' and 'KRAW:' are mounted.
  133.  
  134.   * Optionally, the necessary Mount-commands are added to s:user-startup.
  135.     They are:
  136.       Mount KCON: from DEVS:KingCON-mountlist
  137.       Mount KRAW: from DEVS:KingCON-mountlist
  138.  
  139.  
  140.    When KCON: is installed and mounted, you  can try it (at last!) by
  141. typing the following in a shell-window:
  142.  
  143.   Newshell window KCON:
  144.  
  145. or:
  146.  
  147.   Echo "Yes it is!!" >"KCON:////Is this happening?/FONT topaz.22/WAIT/CLOSE"
  148.  
  149. (Make sure you get those /'s right!)
  150.  
  151.  
  152. Mounting KCON: as CON:
  153. ----------------------
  154.    When KingCON is installed, the DOS-devicename for it is 'KCON:' (and
  155. 'KRAW:' for the unbuffered version). If you want that all your
  156. shell-windows you open should be KCON-windows, you just change the
  157. WINDOW-ToolType of the Shell-icon to say KCON: instead of CON:. (See
  158. your Workbench-documentation.) But in this way, you will only get a
  159. KCON-window if you start a new shell by double-clicking on the Shell-icon.
  160. Furthermore, some programs have their own console-windows and won't let
  161. you change them from CON: to KCON:. (Real3D v2.0 is one example).
  162.    What you need is something that makes every reference to 'CON:'
  163. actually lead to KingCON. This is done by mounting 'KCON:' as 'CON:'
  164. instead. BUT, this is normally not possible, since 'CON:' (and 'RAW:')
  165. are mounted before the startup-sequence is executed.
  166.  
  167.    This is the solution:
  168.  
  169.    * Add these lines BEFORE the Mount-commands in the user-startup:
  170.        Assign CON: DISMOUNT
  171.        Assign RAW: DISMOUNT
  172.  
  173.    * Change the Mount-commands to:
  174.        Mount CON: from DEVS:KingCON-mountlist
  175.        Mount RAW: from DEVS:KingCON-mountlist
  176.  
  177.    Now when you boot, every console-window should be a KingCON-window. There
  178. is no need to have a special KCON: or KRAW:-device. Enjoy!
  179.  
  180. !! WARNING !!
  181.    Before you try the above, PLEASE make sure that the normal installation
  182. was successful and that you can mount KCON: and KRAW: when rebooting.
  183. Make sure that you follow the steps carefully. If something for some reason
  184. goes wrong after the Assign-DISMOUNT-commands, you won't have any console
  185. at all. A very frustrating situation if you must start your favourite
  186. text-editor, in order to correct the mistake, from the Shell... Remember
  187. that you have the Workbench-menu "Execute command" as a final rescue!
  188.  
  189.  
  190. ============
  191.  3. Editing
  192. ============
  193.  
  194.    Note: Everything said here is only true for the "cooked" KCON-console.
  195. KRAW is "raw" and has no editing capabilities. Also, if you have specified
  196. the ASYNC-option, things will work a bit different from what you may be
  197. used to. See the end of this section for details.
  198.  
  199.    'KCON:' is probably most often used as output for the Shell, but editing
  200. works the same if it is a program's private AREXX-console, for example.
  201. Even the filename-completion is identical.
  202.  
  203.    I assume some experience of the editing used in 'CON'. Most things are
  204. identical, the exceptions from this are marked with a (!).
  205.  
  206.    These keys are used for the line-editing:
  207.  
  208. Key            Effect
  209. ---------------------------------------------------------------------------
  210. Any "printable"    char.    Inserts the character pressed under the cursor,
  211.             shifting the characters right of the cursor one
  212.             step to the right.
  213.  
  214.  
  215. Return or         Finishes the line and adds it to the history-buffer,
  216. Control-M        UNLESS it is identical to the previous line.
  217.  
  218. Alt-Return (!)        The line is finished and added to the history-buffer,
  219.             but it is not sent to the command shell. This means
  220.             that it won't be executed.
  221.  
  222. Control-\        Inserts an EOF-character and finishes the line.
  223.             This often means that the window is closed, but it's
  224.             up to the program that opened 'KCON:' to decide.
  225.  
  226. Control-J or        Adds a linefeed.
  227. Control-Return
  228.  
  229.  
  230. Right Arrow        Moves the cursor to the right.
  231.  
  232. Left Arrow        Moves the cursor to the left.
  233.  
  234. Up Arrow        Displays the previous history-line.
  235.  
  236. Down Arrow        Displays the next history-line.
  237.  
  238. Shift-Right Arrow or    Cursor to the end of the line.
  239. Control-Z
  240.  
  241. Shift-Left Arrow or    Cursor to the beginning of the line.
  242. Control-A
  243.  
  244. Alt-Right Arrow (!)    Cursor to the beginning of the next word.
  245.  
  246. Alt-Left Arrow (!)    Cursor to the beginning of the previous word.
  247.  
  248. Control-Right Arrow (!)    Cursor to the next part of a filename.
  249.  
  250. Control-Left Arrow (!)    Cursor to the previous part of a filename.
  251.  
  252. Left Mousebutton (!)    Moves the cursor to to the position on the input-
  253.             line that you clicked on. If you click somewhere
  254.             else in the window, nothing will happen.
  255.             Note that the cursor is moved when the button is
  256.             released and that you must not drag the mouse
  257.             pointer before you release the button.
  258.             You can still select text to be copied to the
  259.             clipboard as usual.
  260.  
  261.  
  262. Backspace        Deletes the character to the left of the cursor and
  263.             shifts the rest of the line to the left.
  264.  
  265. Delete            Deletes the character under the cursor and shifts
  266.             the rest of the line to the left.
  267.  
  268. Shift-Backspace (!) or    Deletes the line to the left of the cursor.
  269. Control-U
  270.  
  271. Shift-Delete (!) or    Deletes the line to the right of the cursor and
  272. Control-K        puts the characters in a cut-buffer (NOT on the
  273.             clipboard.)
  274.  
  275. Alt-Backspace (!) or    Deletes the word that the cursor is standing on
  276. Control-W        to the left.
  277.  
  278. Alt-Delete (!)        Deletes the word that the cursor is standing on
  279.             to the right.
  280.  
  281. Amiga-Delete (!)    Deletes the word that the cursor is standing on.
  282.  
  283. Control-Backspace (!)    Deletes a part of a filename to the left.
  284.  
  285. Control-Delete (!)    Deletes a part of a filename to the right.
  286.  
  287. Control-B or        Deletes the whole line.
  288. Control-X
  289.  
  290. Control-L (!)        Deletes the whole line and clears the console.
  291.  
  292.  
  293. Shift-Up Arrow or    Finds the next history-line whose leading characters
  294. Control-R        match the first characters in the line up to the
  295.             cursor.
  296.  
  297. Shift-Down Arrow    Clears the line and puts you at the end of the
  298.             history buffer. (That means that if you then press
  299.             'Up Arrow', the last line of the history will be
  300.             displayed.)
  301.  
  302.  
  303. Alt-Up Arrow (!)    Scrolls backwards one page in the review-buffer.
  304.             See section 5 about the review.
  305.  
  306. Alt-Down Arrow    (!)    Scrolls forwards one page in the review-buffer
  307.  
  308. Shift-Alt-Up Arrow (!)    Scrolls to the beginning of the review-buffer.
  309.  
  310. Shift-Alt-Down Arrow (!) Scrolls to the end of the review-buffer.
  311.  
  312.  
  313. Amiga-V            Inserts text from the clipboard.
  314.  
  315. Control-Y        Inserts the characters deleted with Control-K or
  316.             Shift-Delete.
  317.  
  318. Control-P (!)        Repeats the previous word.
  319.  
  320. Control-T (!)        Inserts the arguments for the previus command
  321.                  stored in the history-buffer.
  322.  
  323.  
  324. Control-S        Halts the output (if you are listing a directory
  325.             for example). This could be done by typing any
  326.             key and then type Backspace to resume output.
  327.             During filename-completion, the select-window
  328.             is opened to make it easier to browse through
  329.             the matching files. See Other selection-methods.
  330.  
  331. Control-Q        Resumes output again.
  332.  
  333.  
  334. TAB (!)            Filename-completion. See section 4 for details.
  335.  
  336. Shift-TAB (!)        Device-completion. See section 4.
  337.  
  338. Alt-TAB (!)        Command-completion. See section 4.
  339.  
  340. Control-D (!)        Outputs the files in the directory before the
  341.             cursor, unless the command-line is empty. In
  342.             that case it acts like a breaksignal. See
  343.             section 4 for details.
  344.  
  345. Asynchronous typeahead
  346. ----------------------
  347.    Normally, when you press a key while a program ('list' for example) is
  348. outputting text to the console, the output is halted until you have
  349. finished the your input in some way or another. However, if you specify
  350. the ASYNC-option, your keystrokes will be buffered while the output is
  351. going on and printed on the command-line when the prompt returns.
  352.    If you start stepping backwards with the arrow-keys or do something
  353. else that makes it hard for you to keep track of what currently lies in
  354. the buffer or where the cursor is, the output is halted and the buffer
  355. is printed on the command line where you can continue to edit it.
  356.  
  357.  
  358.  
  359. =============================================
  360.  4. Filename- command- and device-completion
  361. =============================================
  362.  
  363.    The idea with xx-completion (or TAB-expansion) is to make typing faster
  364. and more accurate. Once used to it, it will be a great help you don't
  365. want to live without. Both commands, devices and filenames can be completed
  366. in a way that is described below. KingCON's behaviour when several files
  367. match your input can also be controlled in detail.
  368.    An internal directory cache makes the filename completion fast to use,
  369. even if you run it on a slow HD with an old filesystem.
  370.  
  371.  
  372.  
  373. Filename-completion
  374. -------------------
  375.    If you want to enter a specific filename (or a complete path), you start
  376. with entering the first characters in the filename, then press TAB (or
  377. Amiga-F, see section 6). If only one file or directory relative to the
  378. current directory matches those leading characters, the rest of the name
  379. will be filled in for you.
  380.    Normally you just enter the first letters of a filename and then press
  381. TAB. If many files begin with the same letters, you can also use standard
  382. AmigaDOS wildcards to filter out the file you want. For example, if you
  383. want a file that ENDS with the characters '.gif', you type '#?.gif' and
  384. press TAB.
  385.    If more than one file matches the characters you typed, by default, a
  386. window with a list of possible filenames will be opened. (You can change
  387. this behaviour, however. See further down on how to do this.)
  388. You pick the file you want by:
  389.  
  390.     * Clicking on it and then choosing 'OK' or
  391.     * Double-clicking on it or
  392.     * Browse through the names with TAB and Shift-TAB or
  393.       Up- and Down-Arrows, then press Return.
  394.  
  395.    To cancel, you:
  396.  
  397.        * Press 'Cancel' or
  398.        * Close the window or
  399.        * Press ESC.
  400.  
  401.    If you didn't type any characters at all before you pressed TAB (or
  402. Amiga-F), an asl-requester will be opened for you, where you select
  403. your file or directory.
  404.    By default, .info-files are not shown. This can be toggled by selecting
  405. the menu Complete->Show .info. See section 6.
  406.  
  407.  
  408. Command-completion
  409. ------------------
  410.    Command-completion works in the same way as filename-completion. The
  411. difference is that not only the current directory is searched, but also all
  412. the command-paths. Only plain executable files are considered in the search.
  413. If your system has many command-paths, this operation may take a while.
  414.    Command-completion is activated by pressing Alt-TAB or Amiga-M.
  415.  
  416.  
  417. Device-completion
  418. -----------------
  419.    Device-completion is quite simple, and is invoked by pressing Shift-TAB
  420. or Amiga-D. All volumes (like 'Workbench:'), assigns ('L:', 'FONTS:' etc)
  421. and DOS-devices ('PAR:', 'CON:' etc) are searched for a match.
  422.  
  423. Other selection-methods
  424. -----------------------
  425.    When more than one file matches what you have typed, you must choose
  426. between the different alternatives in some way. By default, KingCON opens
  427. a window as described above. Even if this can be fully operated with the
  428. keyboard (you don't have to reach for the mouse), you might prefer another
  429. way to present the list.
  430.    The FNCMODE-option lets you set a combination of "flags" that control
  431. what KingCON does when multiple files match you description. Each flag
  432. consists of one letter, and is typed directly after FNCMODE.
  433. The flags and their function are:
  434.  
  435.     W   - Opens a window with a list of filenames. This is the default.
  436.  
  437.     C   - The leading characters that are common for all the alternatives
  438.           are inserted when you press TAB for the first time. An example:
  439.           Let's say that you have these files in the current directory:
  440.             KingCON.doc
  441.             KingCON.guide
  442.             KingCON-handler
  443.           If you type 'ki' and then press TAB, the string 'KingCON' will
  444.           be inserted on the line, because among the matching files,
  445.           these characters were common.
  446.           What happens if you press TAB a second time (before pressing
  447.           any other key!) is determined by the other flags.
  448.  
  449.     B   - After pressing TAB the first time, subsequent TABs or
  450.           Shift-TABs browse you through the alternatives, forwards and
  451.           backwards respectively. An example:
  452.           Suppose that you have the same files in your current
  453.           directory as in the first example. You begin with typing
  454.           'ki' and then press TAB. The string 'KingCON.doc' is inserted.
  455.           Pressing TAB again inserts 'KingCON.guide' etc. You can step
  456.           backwards with Shift-TAB.
  457.           Pressing any other key than these exits the "browse-mode".
  458.           Note: This flag cannot be combined with the W-flag for
  459.           obvious reasons!
  460.  
  461.           Browsing through many matching files just using TAB can be
  462.           quite tedious. You can at any time press Control-S to open
  463.           the select-window, and you will get more overview.
  464.  
  465.  
  466.     L   - Always outputs a list with all the alternatives on the
  467.           console.
  468.  
  469.     S   - Silent mode. The display doesn't flash when a completion
  470.           fails.
  471.  
  472.    The real strength with the FNCMODE-option comes when you combine the
  473. flags to suite your needs. I suggest that you experiment to see what
  474. you like best. Some useful combinations that you should try are:
  475.  
  476.     WC  - After the first press on TAB, the common characters are
  477.           inserted. Pressing TAB again opens the selection-window.
  478.  
  479.     BC  - This mode is very common on UNIX-system. First the common
  480.           characters are inserted, then you can browse through the
  481.           alternatives with TAB and Shift-TAB.
  482.  
  483.    Note that some combinations are quite useless and very confusing. Only
  484. specifying the L-flag will just make KingCON print the alternatives, and
  485. that's it. No characters will be filled in for you.
  486.  
  487.  
  488. A few notes on the completion-functions
  489. ---------------------------------------
  490.    After having read this, two questions come to our mind (?):
  491. The first is how spaces in filenames are handled. If you have completed
  492. a filename that includes spaces, quotation-marks will be inserted
  493. automatically in the beginning and the end of the word (where necessary).
  494. Let's say that you want to enter the following path:
  495.  
  496.     My Directory/The Manual.doc
  497.  
  498.    You start by entering 'my' and then press TAB. The line will look
  499. like this:
  500.  
  501.     "My Directory/
  502.  
  503.    Now you enter 'the' and press TAB again. The path is now complete:
  504.  
  505.     "My Directory/The Manual.doc"
  506.  
  507.    Note how one quotation-mark was inserted in front of My Directory and
  508. one after The Manual.doc. The path will now be interpreted as one word
  509. by the command shell.
  510.    If you want to match on a string that contains spaces, you must put
  511. a quotation-mark in front of the first word before you press TAB:
  512.  
  513.     "my dir<TAB>
  514.  
  515.    To sum up, KingCON does the following to determine which filename to
  516. complete: If the line contains and ODD number of "'s left of the the cursor, the
  517. name is taken from the last quotation-mark to the position of the cursor.
  518. Otherwise, the beginning of the word is taken from the character next
  519. to the first space, comma, or one of ` = < >. (Dot not included.)
  520.  
  521.    The second question (remember?) is probably: What is this talk about
  522. 'current directories' and 'command-paths'? 'KCON:' is just a DOS-device
  523. and has no 'current dir' like the Shell. Is 'KCON:' some kind of
  524. shell, or what??
  525.    The answer is that KingCON keeps track of which process that opened a
  526. KCON-window. Every time you invoke filename- or command-completion, KingCON
  527. looks at which directory is the current directory for the process that
  528. opened the window. Command-paths are also found this way.
  529.    If the process that opened the window dies before the window is closed
  530. (this could be the case if it is a WAIT-window. See section 8), KingCON
  531. keeps the directory that was used last time some kind of completion was
  532. activated. Command-paths are lost, though.
  533.  
  534.  
  535. The directory cache
  536. -------------------
  537.    Whenever filename- or command completion is activated, the current
  538. directory (or in the latter case, a whole bunch of directories) has to
  539. be scanned for its contents. On the Amiga, this is an operation that
  540. always has taken some time to do, and even with the introduction of
  541. better filesystems in OS3.0, the wait for the scan to complete can
  542. be quite irritating.
  543.    The solution to this problem is an (optional) internal directory cache
  544. for all KingCON consoles. Basically it keeps track of the contents of a
  545. directory when you first activate filename completion in it. The second
  546. time you complete something in the same directory, the cache is searched
  547. instead, thus avoiding the extensive disk access that scanning a whole
  548. directory means. The matching files (if any) will be found in a couple
  549. of microseconds, a really big gain in time.
  550.  
  551.    NOTE: The directory cache ONLY works with KingCON's filename- and
  552. command completion. Other DOS-programs won't be affected at all.
  553.  
  554.    The cache is divided in two parts - one for command completion and one
  555. for filename completion. The maximum size for these can be set
  556. independently (see the documentation for the DIRCACHE-option). The two
  557. caches differ slightly in the way they work when directories have to be
  558. flushed. Automatic flushing of directories from the cache occurs when you
  559. are adding a new directory to the cache, and the memory isn't enough to fit
  560. it. This flushing is designed in a way so that it ensures that in the
  561. long run, as few directories as possible have to read in from the disk.
  562.    It is also possible to set which volumes that should be cached and
  563. which should not be. For example, you don't gain anything by caching
  564. a RAM-disk. Please see the documentation for the DIRCACHE-option on
  565. how to set these parameters.
  566.  
  567.    An important feature of the cache is that it is shared by all consoles
  568. and remains in memory even after all windows have been closed. This saves
  569. memory and also reduces the number of times that a certain directory has
  570. to be scanned into memory. You can complete a filename in S:, close the
  571. console, play a game, open the console again, and if you activate
  572. completion in S:, the cache will be searched instead of the disk.
  573.  
  574.    There are occasions when a directory has to be scanned in from disk
  575. again, even if the cache isn't full. This happens when you have made
  576. a change to a file directly under that directory. So, if you are not only
  577. reading from a directory, the increase in speed will not always be very
  578. big. But this doesn't mean that the cache is useless if you are
  579. editing a lot of files in a directory that you also do filename completion
  580. in! It quite often happens that you activate completion several times
  581. on the same command line. This is probably often the case if you have set
  582. the C-flag in the FNCMODE-option.
  583.  
  584.    NOTE: Currently KingCON looks at the creation date of a directory when
  585. it tries to figure out if any changes have been made to it. This works fine
  586. with all AmigaDOS filesystems, but this may not be the case with all
  587. foreign filesystems. For example, if you complete a filename in the root
  588. of a CrossDOS-partition or -disk and then add a new file to the root,
  589. KingCON won't know about this the second time you do filename completion on
  590. that partition or disk. The new file won't be considered when KingCON
  591. searches for matches. The reason is that the creation date of the root
  592. obviously isn't changed on MS-DOS filesystems. If you want to avoid this
  593. kind of problems, you shouldn't include CrossDOS volumes in the cache.
  594. A typical cache configuration could then look like
  595. "DIRCACHE10/10/~RAM RAD PC0/".
  596.  
  597.  
  598. Dropping icons on the console
  599. -----------------------------
  600.   Another quick way to insert a filename on command-line is to drag one
  601. or more icons from the Workbench over the console window and drop them
  602. there. The complete path for the icon, including quotation-marks (when
  603. necessary), will be printed.
  604.  
  605.   Holding down the Control-key while releasing the mouse-button inserts
  606. the pathpart of the filename. (If you have the icon "Work:Stuff/File",
  607. only "Work:Stuff/" will be inserted.) Holding down the Alt-key will
  608. insert the filename. ("Stuff" in the previous example.)
  609.  
  610.    This is only possible if the window was opened on the Workbench-screen.
  611.  
  612.  
  613.   I've said it before, but I'll do it again, for the sake of clarity:
  614. KingCON is NOT a Shell, despite of the filename-completion and some other
  615. functions. No interpretation of what you type is done. To the programs
  616. that use 'KCON:' for input and output, it behaves just like 'CON:'.
  617.  
  618.  
  619.  
  620. ==================
  621.  5. Review-buffer
  622. ==================
  623.  
  624.    One of the major differences between a CON-window and a KCON-window is
  625. that the latter has a scrollgadget in the right windowborder, that lets you
  626. browse through all the text that has been output to it since it was opened.
  627.  
  628.    When you have done a long directory-listing and want to go back to take
  629. a look at the first files that were listed, you just grab the knob and
  630. move it up until you find the place you looked for. The arrows can be used
  631. to scroll (approx.) one row up and down.
  632.    As soon as you type something on the keyboard or a program wants to
  633. output something to the window, the "review-mode" is exited and the
  634. scrollknob moves to the bottom. This means that if you try to scroll while
  635. a file is being Type'd, the text will jump up and down between the position
  636. you want to look at and the bottom of the review-buffer. Confusing, maybe,
  637. but fully normal.
  638.  
  639.  
  640. Differences between buffered text and original output
  641. -----------------------------------------------------
  642.    The text shown in the review-buffer doesn't always look like the text
  643. that originally was output to the window. Control-sequences to move the
  644. cursor, delete characters etc are not interpretated, which means that some
  645. programs that do fancy things to their output won't look that fancy when
  646. you begin dragging the scrollknob. This is not a bug, just a sacrifice
  647. for speed. :->
  648.    The output of LhA will, unfortunately, not look very good in the
  649. review-buffer. I suggest that you use LhA's option for simple I/O, -Qa.
  650. You won't have any progress indication this way, but at least you will
  651. see what files that were unpacked.
  652.    If you specify the NOSTYLES-option, all textstyle control-sequences will
  653. be filtered. This saves some memory and perhaps speeds up output on plain
  654. 68000's. The text in the buffer will always be black and white, though.
  655.  
  656. Memory-management - dynamic and static model
  657. --------------------------------------------
  658.    By default, the memory for the review-buffer is allocated dynamically
  659. when something is output to the window. Normally a maximum of 64Kb can be
  660. allocated for the buffer before the first lines start disappearing.
  661. The MAXBUF-option lets you specify another limit, if you should find 64Kb
  662. too much or too little.
  663.    Don't forget that no memory is allocated for the buffer when the console
  664. window is opened, because of its dynamic nature. The drawback with this is
  665. that you lose memory for every line you write. This can be frustrating if
  666. you are debugging a program to see if it frees all memory when it returns.
  667. ('Avail', 'Program', 'Avail', you know.) In those situations, you should
  668. disable the review-buffer.
  669.    A better solution is to make the review-buffer static. Entering a
  670. negative value after MAXBUF tells KingCON that all memory for the buffer
  671. should be allocated immediately when the window is opened. Note that if all
  672. the memory can't be allocated at once, the memory will be allocated
  673. dynamically instead.
  674.    See section 8 for details about MAXBUF.
  675.  
  676.  
  677. Some notes on speed (68000-owner, read this!)
  678. ----------------------------------------------
  679.    You may notice that output is slowed down a bit when the buffer is
  680. enabled, especially if you have a plain 68000-Amiga. On faster machines,
  681. it takes more time just to scroll the window than to manage the buffer,
  682. so it shouldn't be a problem there.
  683.    If you DO find it too slow, there are five things you can do:
  684.  
  685.    * Enable the jump-scroll. This can be done with the JUMP-option or
  686.      by selecting the "Console » Jump scroll"-menu. Output will be fast
  687.      but maybe a bit jumpy.
  688.  
  689.    * Specify the FASTUPDATE-option. The scrollgadget will be updated more
  690.      seldom, and you will gain much speed this way. I suggest that you try
  691.      this option before you start disabling the scrollbar completely.
  692.  
  693.    * Specify the NOGADS-option. You will still have a review-buffer as
  694.      usual, but no scrollgadget in the right windowborder. Because the
  695.      updating of the scrollgadget has much overhead, removing it in this
  696.      way is probably enough to solve the speedproblem.
  697.  
  698.    * Select the "Review » Enabled" menu to disable the buffer temporarily.
  699.      You will still be able to scroll back to text that was buffered
  700.      earlier, though.
  701.  
  702.    * Specify the NOREVIEW-option. In this way, you won't get any review-
  703.      buffer at all.
  704.  
  705.    * Specify the NOSTYLES-option. The buffered text will only be black and
  706.      white and you can save a lot of memory this way. Speed is also affected,
  707.      especially if the text that is ouput to the window has a lot of
  708.      fancy colors and styles.
  709.  
  710.  
  711.  
  712. ==========
  713.  6. Menus
  714. ==========
  715.  
  716.    Specifying the NOMENUS-option disables the menubar. The NOSHORTCUTS-
  717. option can be used to remove the Amiga-key shortcuts that some of the
  718. menus have. See section 8 for details.
  719.  
  720.    The menubar contains the following menus and menuitems:
  721.  
  722. "Console"-menu:
  723. ---------------
  724.     Reset        (Z)    - Clears the console-window and resets all
  725.                   styles etc. Use this if a program leaves
  726.                   the window in a complete mess.
  727.  
  728.     Jump scroll    (J)    - If checked, output speed will be increased
  729.                   by scrolling the window several lines
  730.                   at the time. By default, jump-scroll
  731.                   is disabled, because it isn't 100%
  732.                   compatible with programs that do their
  733.                   own jump-scrolling, like 'more'.
  734.                   Use the JUMP-option to have this function
  735.                   enabled when the window is opened.
  736.  
  737.     Iconify        (I)    - The console window is iconified and put
  738.                   on the Workbench as an AppIcon. If
  739.                   you specify the NOICONIFY-option, the
  740.                   menu will read "Minimize", and the window
  741.                   will just be as small as possible
  742.                   instead of being turned into an icon.
  743.                   See section 7 for important details
  744.                   about this feature.
  745.  
  746.     Normalize    (N)    - Positions the window at the same place
  747.                   with the same size as when it was opened.
  748.                   Can be disabled.
  749.  
  750.     Maximize    (A)    - Makes the window as big as possible
  751.                   within the visible area of the screen.
  752.                   Can be disabled.
  753.  
  754.     Next screen    (S)    - Moves the console window to the next
  755.                   public screen. See section 7 for details
  756.                   about this feature.
  757.  
  758.     Goto screen...        - Lets you select a public screen from a
  759.                   list, to which the window will be moved.
  760.                   If only two screens are open, this
  761.                   function is identical to "Next screen..."
  762.                   Please see section 7.
  763.  
  764.     Halt        (H)    - Halts output.
  765.  
  766.     Resume        (R)    - Resumes output.
  767.  
  768.     About...    (?)    - Opens a requester telling you about the
  769.                   current version of KingCON, the author etc.
  770.  
  771.     Close        (Q)    - The same as clicking in the window's
  772.                   closegadget or typing Control-\. The
  773.                   process that owns the window decides if
  774.                   it should be closed.
  775.  
  776. "Complete"-menu: (See also section 4!)
  777. --------------------------------------
  778.     Filename    (F)    - Completes a filename or directoryname.
  779.                   The same as pressing TAB.
  780.  
  781.     Command        (M)    - Completes a DOS-command. Same as pressing
  782.                   Alt-TAB.
  783.  
  784.     Device        (D)    - Completes a devicename. Same as pressing
  785.                   Shift-TAB.
  786.  
  787.     Enable cache        - If checked, the directory cache will be
  788.                   active and make filename completion
  789.                   faster to perform. This menu is
  790.                   ghosted if you haven't specified the
  791.                   DIRCACHE-option. See section 4 for
  792.                   details.
  793.  
  794.     Reset cache        - Clears all the contents of the file-
  795.                   and command cache. This operation will
  796.                   affect all KingCON consoles.
  797.  
  798.     Purge cache        - Frees all resources belonging to the
  799.                   directory cache system. This is useful
  800.                   in low memory situations. The resources
  801.                   will be allocated again the next time
  802.                   you activate filename completion, unless
  803.                   you disable the cache first. This
  804.                   operation affects all KingCON windows.
  805.  
  806.     Show .info    (.)    - If checked, .info-files will be considered
  807.                   when KingCON is looking for matches.
  808.  
  809. "Review"-menu: (See also section 5!)
  810. ------------------------------------
  811.     Enabled        (W)    - If checked, all text output to the window
  812.                   will be saved in the review-buffer. If
  813.                   not, you will still be able to scroll
  814.                   through old text, but no new text will
  815.                   be added.
  816.  
  817.     Clear buffer        - Clears the review-buffer.
  818.  
  819.     Save plain text as...    - Lets you select a file to which the buffer
  820.                   will be saved as plain text.
  821.  
  822.     Save with styles as...    - Lets you select a file to which the buffer
  823.                   will be saved, including control-sequences
  824.                   for text style and color.
  825.  
  826. "History"-menu:
  827. ---------------
  828.     Enabled            - If checked, lines typed by you will be
  829.                   saved in the command-history buffer.
  830.                   If not, no lines are saved, but you will
  831.                   still be able to browse through the lines
  832.                   that are already in the buffer.
  833.  
  834.     Clear buffer        - Clears the history-buffer.
  835.  
  836.  
  837.  
  838. ==========================
  839.  7. Iconifying the window
  840. ==========================
  841.  
  842.    A very nice way to quickly get rid of a console window temporarily
  843. is to iconify it. This can be done by selecting the menu Console»Iconify
  844. or by clicking the gadget next to the zoom-gadget in the titlebar.
  845. Normally an icon with the same name as the window will be created and
  846. put on the Workbench. (You can change the icon's default image and
  847. position with the IMAGE and ICONPOS-options. See section 8.)
  848. The window can then be brought back by simply double-clicking the icon.
  849.    If you think that icons clutter up your Workbench, you can specify the
  850. MENUFY-option together with NOICONIFY in order to have an extra menuitem
  851. in the Tools-menu created for you instead.
  852.  
  853.    The icon's or menu's title is normally the same as the window's. You
  854. can change it to something else with the ICONTITLE-option. Here you can
  855. use the substitution-strings, described in section 8, to insert the
  856. name of the current dir etc. If you have specified the SHOWDIR-option,
  857. the current directory will NOT be added to the icon. Use the %S or %D
  858. substitution instead.
  859.  
  860.    If a window is iconified, it will be opened again as soon as a program
  861. outputs text to the console or tries to read from it. The KEEPCLOSED-option
  862. changes this behaviour, so the window will remain closed in most cases.
  863. If you have the review-buffer enabled, the output will be saved to it, so
  864. you can for example start a long directory-listing, iconify the window, and
  865. return later to see what was output.
  866.  
  867.    NOTE!
  868.    A very importand aspect of this feature is that it doesn't always work.
  869. When a program has used a special AmigaDOS-call to find out the address
  870. of the console-window it is running in, it is no longer safe to close
  871. that window. When you have run such a program (SetFont is one of them),
  872. and then try to iconify the window, you will be presented a requester
  873. telling you that the window can't be closed in a safe way. You can then
  874. select that you still want to iconify it, but you should be very careful
  875. when doing this. NEVER iconify the window while running 'More', because
  876. this WILL crash your system. Iconifying the window when More is finished
  877. works fine, though.
  878.  
  879.    This behaviour is a bit ugly, but there isn't much I can do about it.
  880. The standard CON: also suffers from this problem, but maybe you haven't
  881. noticed it: The AUTO-feature, which is CON's way of iconifying a window
  882. (sort of), stops working after running SetFont or More.
  883.  
  884.    So, please programmers, stop using the DiskInfo()-call in order to get
  885. the address of the window if you just want to know the dimensions of the
  886. console. Instead, use the control sequence called 'WINDOW STATUS REQUEST'
  887. (9B 30 20 71). The dimensions will then be returned to you with a
  888. 'WINDOW BOUNDS REPORT'-sequence (9B 31 3B 31 3B <height> 3B <width> 72).
  889. Of course, the console must be in RAW mode when doing this.
  890.  
  891.  
  892.  
  893. ============================================
  894.  8. Options when opening the console-window
  895. ============================================
  896.  
  897.    A KCON-window is opened in the same way as a CON-window. The template
  898. for the "filename" is:
  899.  
  900.     KCON:LeftEdge/TopEdge/Width/Height/Title/Options/...
  901.  
  902.    All keywords are optional. If you want the default-value, you write
  903. nothing. For example, if you want to specify a title, but no position or
  904. size, you write: (Don't forget the quotation-marks if you have spaces
  905. in the filename!)
  906.  
  907.     "KCON:////My Title"
  908.  
  909.    The meaning of the keywords are quite obvious. The default is to
  910. open a window that covers the whole horisontal and half the vertical
  911. visible area of the screen. The window is positioned below the menubar
  912. of the screen if possible. The default title is 'KingCON'.
  913.    This differs a bit from CON, which always opens a window in the top
  914. left corner of the screen with a fixed height. I think KingCON's way of
  915. opening is better. :-)
  916.  
  917.  
  918. Inserting the current directory and CLI number in the title
  919. -----------------------------------------------------------
  920.    When working with the Shell, you probably want to see which the
  921. current directory is without having to issue a special command for
  922. this. An easy solution is to use the SHOWDIR-option when you open
  923. the console-window. This will insert the current dir after your title.
  924.  
  925.    Another, perhaps more flexible, way of doing this is to put
  926. substitution-strings in the title, much like the AmigaDOS Prompt-command.
  927. These substitutions also work with the ICONTITLE-option:
  928.  
  929.     %A    Inserts the the path for the current directory where
  930.         as much as possible of it has been replaced with an
  931.         assigned device. This means that if you type "CD LIBS:",
  932.         the window/icon's title will actually read "LIBS:" and
  933.         not "Workbench:libs"
  934.  
  935.     %D    Only the last part of the current dir is inserted. This
  936.         is very useful together with ICONTITLE, since it doesn't
  937.         produce as long strings as %S
  938.  
  939.     %N    The CLI-number of the owning process, if it is a CLI.
  940.         Otherwise, a minus-sign is inserted.
  941.  
  942.     %P    The name of the owning process is inserted. Note that
  943.         in a shell, this isn't the same as the name of the
  944.         command that is executed, since all commands are executed
  945.         by the same process.
  946.  
  947.     %S    Inserts the complete path for the current directory.
  948.         Putting this at the end of the title is the same as
  949.         the SHOWDIR-option
  950.  
  951.     %V    Only the volumename of the current dir is inserted.
  952.  
  953.  
  954.    This example creates a rather instructive title:
  955.  
  956.        NewShell WINDOW "KCON:////Shell #%N in '%S'/CLOSE"
  957.  
  958.    The title can then look something like:
  959.  
  960.        Shell #4 in 'Work:Pictures/XXX-Rated/Flowers'
  961.  
  962.  
  963. Default settings in environment variable
  964. ------------------------------------------
  965.    Apart from old CON:, KingCON offers you many options. Probably you find
  966. a certain combination useful, but you don't want to type it every time
  967. you open a console. In addition to this, some programs have the CON:-file
  968. hard-coded, making it impossible to customize those consoles.
  969.    The solution to this problem is an environment variable (see the
  970. AmigaDOS-documentation) that contains the options you want to be default,
  971. unless you specify something else. There is one variable for KCON:
  972. (and CON:) and another for KRAW: (and RAW:). They are called KCON.prefs and
  973. KRAW.prefs respectively, and have the same form as the "filename" for
  974. the KCON: and KRAW: window. Confused? These examples might help:
  975.  
  976.    Suppose that you want a closegadget on every window you open. Then you
  977. should put put this command in your user-startup (or issue it before
  978. you open a console):
  979.  
  980.     SetEnv KCON.prefs /////CLOSE
  981.  
  982.    If you now type 'NewShell WINDOW KCON:', it will have the same effect
  983. as if you had typed 'NewShell WINDOW KCON://///CLOSE'. That saved some
  984. typing, didn't it? Now, if you don't want a closegadget for some reason,
  985. you will have to type 'NewShell WINDOW KCON://///NOCLOSE'. You could, of
  986. course, delete the variable with 'UnSetEnv KCON.prefs', and you will be
  987. back where you started.
  988.  
  989.    The advantage with env.-variables becomes even more clear when you want
  990. to personalise your consoles more drastically. The following sequence
  991. changes the default size, alternative (zip) size, windowtitle and makes
  992. the review-buffer static:
  993.  
  994.     SetEnv KCON.prefs 0/0/640/512/ElvisCON/MAXBUF-10/ALT590/462/50/50
  995.  
  996. NOTE 1: Changing the default options may make KingCON incompatible with CON:.
  997. For example, a program that opens a window without the CLOSE-option, expects
  998. that the window will have no closegadget. However, if you have put this
  999. option in the KCON.prefs-variable, the window will get a closegadget, and
  1000. the program that uses the console may not like that, but it is rather
  1001. unlikely that it actually will. But you should be aware of it, anyway.
  1002.  
  1003. NOTE 2: The options in the env-variables have a lower priority than the
  1004. options that are specified when a console is opened. In the previos example,
  1005. the windowtitle will only read 'ElvisCON' if you don't specify another
  1006. title, like 'KingsTON,Jamaica'.
  1007.  
  1008.  
  1009. Multiple defaultsettings
  1010. ------------------------
  1011.    When you open a console, you can specify another env-variable to be
  1012. used as default instead of KCON.prefs. This makes it possible to have
  1013. a set of different settings for different uses, that are easily accessed
  1014. with just one keyword. There are two ways to specify the env-variable. The
  1015. first one is the PREFS-option, that is described further down. The second
  1016. method involves much less typing. You simply put the name of the variable
  1017. after the devicename (CON:, RAW: etc), before the first coordinate for
  1018. the window. The general form for the "filename" then looks like:
  1019.  
  1020.     KCON:Variable/LeftEdge/TopEdge/Width/Height/Title/Options/...
  1021.  
  1022.    Note that the variable-name mustn't begin with a number, or it will be
  1023. recognised as the LeftEdge-value. Now an example:
  1024.  
  1025.    Let's say you have created a variable like this:
  1026.  
  1027.        SetEnv BigCON 0/0/640/512/Big/MAXBUF-500
  1028.  
  1029.    If you want to open a shell with this very expensive configuration
  1030.    (it will eat ½ Mb for you!), you type:
  1031.  
  1032.        NewShell WINDOW KCON://///PREFSBigCON
  1033.  
  1034.            or
  1035.  
  1036.        NewShell WINDOW KCON:BigCON
  1037.  
  1038.            or, if you want to add some other options:
  1039.  
  1040.        NewShell WINDOW KCON:BigCON/////BIG!!/CLOSE/JUMP
  1041.  
  1042.  
  1043. Options
  1044. -------
  1045.    Most options have an opposite form within parenthesis. They actually
  1046. reflect the default-state, and specifying one of them is only useful if
  1047. the positive form is present in either one of the variables KCON.prefs and
  1048. KRAW.prefs, or a variable you have specified. For example, NOCLOSE cancels
  1049. CLOSE, if that was specified in, let's say, KCON.prefs. Using the negative
  1050. form in an environment variable is thus useless.
  1051.  
  1052.    These options are compatible with CON:
  1053.  
  1054.    ALT<x>/<y>/<w>/<h>  When the zoom-gadget is clicked, the window will
  1055.         get the position and dimensions described by x,y,w & h.
  1056.         For example, ...ALT100/100/400/50... will make the window
  1057.         a thin strip in the middle of the screen when you click
  1058.         the zoom-gadget.
  1059.  
  1060.    AUTO        The window isn't opened until some text is output to it or
  1061.    (NOAUTO)    a program wants to read from it. It also gets a close-gadget.
  1062.         You can also use the AUTOICONIFY-option for the same purpose
  1063.         if you want an icon for the window while it is closed.
  1064.  
  1065.    BACKDROP    The window is opened as a backdrop behind all other
  1066.    (NOBACKDROP)    windows on the screen.
  1067.  
  1068.    CLOSE    The window is equipped with a closegadget.
  1069.    (NOCLOSE)
  1070.  
  1071.    INACTIVE    The window isn't activated when it is opened.
  1072.    (ACTIVE)
  1073.  
  1074.    NOBORDER    The window has no border. Very confusing.
  1075.    (BORDER)
  1076.  
  1077.    NODRAG    The window has no dragbar.
  1078.    (DRAG)
  1079.  
  1080.    NOSIZE    The window has no sizing-gadget or zoom-gadget.
  1081.    (SIZE)    The "Minimize"- and "Maximize"-menuitems are disabled.
  1082.  
  1083.    SIMPLE    You can mark and copy text from the console. This is
  1084.            the default.
  1085.  
  1086.    SMART    The opposite of SIMPLE. This is the way the console window
  1087.            was before v2.0 of the OS. If the window is scaled down and
  1088.            then resized again, you will lose the text that was printed
  1089.            on the revealed portions of the window.
  1090.  
  1091.    SCREEN <name>  The window will be opened on a public screen with a
  1092.            certain name (case-sensitive!). To open on the screen
  1093.            "TERM", you type: .../SCREEN TERM/... or .../SCREENTERM/...
  1094.         Calling the screen '*' opens the window on the topmost
  1095.         screen. Note that the screen must be a public screen, or
  1096.         the window will open on the Workbench.
  1097.         Also see the POPSCREEN-option.
  1098.  
  1099.    WAIT        The window isn't closed until you type Control-\, select
  1100.    (NOWAIT)    Quit or click the closegadget.
  1101.  
  1102.  
  1103.    WINDOW <address>  The console is attached to an already open window
  1104.            with the address expressed in hexadecimal numbers.
  1105.         The menus and gadgets will be disabled for compability.
  1106.  
  1107.  
  1108.    These options are new for KingCON:
  1109.  
  1110.    ASYNC    Enables asynchronous typeahead. See also end of section 3.
  1111.    (SYNC)
  1112.  
  1113.    AUTOICONIFY    This is exactly the same as the AUTO-option, except that
  1114.    (NOAUTO)    an AppIcon is put on the Workbench as long as the window is
  1115.         closed. If you try a lot of PD-programs, it can be convenient
  1116.          to have the following line in the startup-sequence:
  1117.             Run >NIL: Enforcer FILE CON:////Bang!/AUTOICONIFY
  1118.         (This option was called AUTOICON before)
  1119.  
  1120.    DIRCACHE<filecache>/<commandcache>/<volumes>   Enables the directory
  1121.    (NODIRCACHE)    cache that is used to speed up operation of the filename
  1122.            completion, and sets the global configuration for it.
  1123.            <filecache> and <commandcache> are the maximum sizes of the two
  1124.            parts of the cache in Kbytes. <volumes> is a list of
  1125.            volumes that should be included, or if a ~ (tilde) is put
  1126.            in front of them, excluded from the cache. Examples:
  1127.            "DIRCACHE 16/16/~RAM RAD SD0 VD0/" sets the buffers to
  1128.            16 Kbytes each and excludes ram-based volumes. This is
  1129.            the default, equal to "DIRCACHE///".
  1130.            "DIRCAHE 10/0/HD0 HD1" disables the command cache and
  1131.            includes only directories on HD0: and HD1: in the cache.
  1132.  
  1133.            Note that the values you set with this option affect ALL
  1134.            consoles, and that changing the size of a cache means that
  1135.            its contents have to be flushed first.
  1136.  
  1137.    FNCMODE <flags> Sets the flags that determine how you select the file
  1138.            you want after you have activated any of the completion-
  1139.            functions. The flags are described in section 4 and
  1140.            "Other selection-methods". The following sequence makes
  1141.            KingCON behave more "tcsh-like":
  1142.                .../FNCMODE BC/...
  1143.  
  1144.    FASTUPDATE    The scrollbar isn't updated at every line that is output,
  1145.    (NICEUPDATE)    which is the default, but in bigger intervals. This
  1146.            enhances the performance considerably on slower machines.
  1147.  
  1148.    FONT <name.size>  Another font than the default-font is used. To specify
  1149.            a bigger topaz-font you type: .../FONT topaz.44/... or
  1150.            .../FONTtopaz.44/... Note that the font must be monospaced!
  1151.            I suggest that you use the FONT-option to change the font
  1152.            instead of the SETFONT-command.
  1153.  
  1154.    ICONPOS <x>/<y>  Specifies the exact position for the icon in screen
  1155.            coordinates. Note that if another icon is already placed
  1156.            at that position, the icon will be put at a random
  1157.            place on the Workbench.
  1158.  
  1159.    ICONTITLE <title> Specifies the title for the icon (and menu) when the
  1160.            console is iconified. Use substitution-strings in order to
  1161.            tell the icons apart easier. An example:
  1162.                .../ICONTITLE Shell.%N (%D)/...
  1163.         See also the section about substitution-strings.
  1164.  
  1165.    IMAGE <filename> This option lets you change the look of the icon when
  1166.            the window is iconified. <filename> is the name of an
  1167.            .info-file (without .info!) in ENV:Sys/, that will be
  1168.            used to describe the icon.
  1169.            If this option isn't specified, the file
  1170.            ENV:Sys/def_KingCON.info will be used, if it exists.
  1171.            An example:
  1172.                KCON://///IMAGEmy_icon
  1173.            The file ENV:Sys/my_icon.info will be used as an icon.
  1174.  
  1175.    JUMP        Enables jump-scroll. You can also use the
  1176.    (NOJUMP)    "Console » Jump scroll" menu to enable it. Note that some
  1177.            programs, like 'more', don't like jump-scroll.
  1178.  
  1179.    MAXBUF <size>  Sets the biggest size for the review-buffer in kilobytes.
  1180.         The smallest possible value is 4. It is not always wise to
  1181.         set the size to a very big value, because your system
  1182.         can run out of memory if you output a lot of text to
  1183.         the console.
  1184.         A negative value makes the buffer static, which means that
  1185.         the amount of memory you specified (-size) will be allocated
  1186.         when the window is opened.
  1187.  
  1188.    MENUFY    When the window is iconified, a menuitem with the same
  1189.    (NOMENUFY)    label as the windotitle is added to the Tools-menu
  1190.            on the Workbench.
  1191.  
  1192.    MINI        The window is minimized the first time you hit the
  1193.    (MAXI)    zoom-gadget instead of being resized to fill the
  1194.            whole screen.
  1195.  
  1196.    NOFNC    (Short for No FileName Completion). The TAB, Shift-TAB and
  1197.    (FNC)    ESC-keys don't activate any completion-function in order
  1198.            to be compatible with CON. Note that you can still
  1199.            use the "Completion"-menu!!!
  1200.  
  1201.    NOGADS    No scrollgadget in the right windowborder is created. On
  1202.    (GADS)    slower machines this will increase the speed of the review-
  1203.             buffer noticeably. You can still use the keys described
  1204.             in section 3 to scroll through buffered text, of course.
  1205.             There will also be no gadget in the titlebar for
  1206.             iconifying the window.
  1207.  
  1208.    NOICONIFY    The window will just be minimized instead of iconified
  1209.    (ICONIFY)    when you select Iconify/Minimize from the menu.
  1210.            This is identical to the old NOICON-option (which
  1211.            still works.)
  1212.  
  1213.    NOMENUS    No menubar is created. If you just don't like the shortcuts,
  1214.    (MENUS)    you should take a look at the NOSHORTCUTS-option.
  1215.  
  1216.    NOREVIEW    The window gets no review-buffer. No scrollgadget is
  1217.    (REVIEW)    created and the "Review"-menu is disabled. If you just
  1218.            want to gain speed, first try the FASTUPDATE-option.
  1219.  
  1220.    NOSHORTCUTS    The Amiga-key shortcuts for the menus are removed, which is
  1221.    (SHORTCUTS)    useful if you find yourself accidentally typing Amiga-Q
  1222.            or some other key in you console-windows.
  1223.            See also the NOMENUS-option.
  1224.  
  1225.    NOSTYLES    Control-sequences that control textstyle and -color are
  1226.    (STYLES)    not saved in the review-buffer. Buffered text will be
  1227.            plain black and white.
  1228.  
  1229.    PLAIN    The same as NOREVIEW/NOFNC/NOMENUS. The window will behave
  1230.    (NOPLAIN)    exactly like a CON-window.
  1231.  
  1232.    POPSCREEN     Brings the screen, on which the window is opened, to
  1233.    (NOPOPSCREEN) the front.
  1234.  
  1235.    PREFS <variable>  The env-variable <variable> will be used as
  1236.            prefs-file instead if KCON.prefs (or KRAW.prefs for
  1237.            a RAW console). This keyword is not allowed inside
  1238.            the env-variable itself (no recursion).
  1239.         Using PREFS is equivalent to putting the variable-name
  1240.         right after the colon in the filename, before the
  1241.         LeftEdge-value.
  1242.  
  1243.    KEEPCLOSED     If a program wants to do output or input from the console,
  1244.    (NOKEEPCLOSED) while it is iconified, the window will not open. Instead,
  1245.             the text will be saved to the review (if it is enabled)
  1246.             and the read-requests will be queued up. This is useful
  1247.             if you want to open a shell and want it to iconify
  1248.             immediately, without first opening a window. You can
  1249.             then use the following combination:
  1250.                 .../KEEPCLOSED/AUTOICONIFY/...
  1251.  
  1252.    SHOWDIR    The current directory is displayed in the titlebar. You
  1253.    (NOSHOWDIR)    can also use substitution-strings (described above) for
  1254.            the same purpose.
  1255.  
  1256.  
  1257. ==========
  1258.  9. To do
  1259. ==========
  1260.  
  1261.    KingCON introduces some very useful features that makes it a worthy
  1262. replacement for CON. But there are still a few things I want to see
  1263. in a future version:
  1264.  
  1265.    * KingCON needs a preference-editor.
  1266.  
  1267.    * Configurable editing- and function-keys.
  1268.  
  1269.    * A configurable shortcut-menu, that lets you quickly insert commonly
  1270.      used strings. These strings should also be tied to the function-keys.
  1271.  
  1272.    * The review-buffer could be more intelligent and interpret cursor-moves.
  1273.  
  1274.    * A new completion-function that completes words from a textfile that
  1275.      you specify. All the switches for DOS-commands, for example.
  1276.      This should replace the command-completion, which is too slow to be
  1277.      really useful.
  1278.  
  1279.    * Localized menus, Kickstart 3.0-specific functions, smaller, faster...
  1280.  
  1281.    If you have something else that you would like to see implemented in
  1282.    KingCON (or if you find one of those annoying b*gs), feel free to mail
  1283.    me. Who knows, maybe I do something about it! (Be prepared that it
  1284.    might take some time before I can read and answer your letter.)
  1285.  
  1286.  
  1287.            /|t last I want to say a BIG THANKYOU to everybody
  1288.           / | that have reported bugs and come with good ideas.
  1289.          /  | I also want to thank Anders Hammarqvist for testing
  1290.         /   | KingCON, and for sharing his knowledge on consoles,
  1291.        /    | shells and many other things!
  1292.       /     |
  1293.      /¯¯¯¯¯¯| Last but not least - thankyou Stefan Stuntz, for providing
  1294.     /        | the sourcecode for the iconify-gadget!
  1295.    /         | (My favourite feature, actually :)
  1296.   /         |
  1297. ¯¯¯        ¯¯¯
  1298.  
  1299. I must also thank Anthony Preston and Michael Barsoom for testing KingCON
  1300. and saving you a couple of bugs that way.
  1301.  
  1302.  
  1303.  
  1304.         /¯\ David Larsson /¯\  Engineering Physics                /¯\_/¯¯¯¯
  1305.        /   \_/¯\   /¯¯¯\_/   \ Chalmers University of Technology / Sweden
  1306.       /         \_/           \      /¯\   /¯\     /¯\_/¯\      /
  1307. ¯\   /                         \    /   \_/   \   /       \    /
  1308.   \_/  f92dala@dd.chalmers.se   \__/           \_/         \__/
  1309.